package com.ruowei.modules.foodOrder.web.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.Instant;
import java.util.List;

@Data
public class OrderDTO {

    @ApiModelProperty(value = "订单编码")
    private String orderCode;

    @ApiModelProperty(value = "商品信息")
    private List<OrderItemDTO> dtoList;

    @ApiModelProperty(value = "状态 待支付、待接单、商家已接单、配送员已接单、已送达、退款中、已退款、退款失败")
    private String status;

    @ApiModelProperty(value = "生成时间")
    private Instant createTime;

    @ApiModelProperty(value = "总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "实付金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "支付方式")
    private String payType;

    @ApiModelProperty(value = "支付时间")
    private Instant paymentTime;

    @ApiModelProperty(value = "商家接单时间")
    private Instant merchantReceiveTime;

    @ApiModelProperty(value = "配送员接单时间")
    private Instant courierReceiveTime;

    @ApiModelProperty(value = "送出时间")
    private Instant deliveryTime;

    @ApiModelProperty(value = "收货人姓名")
    private String receiverName;

    @ApiModelProperty(value = "收货人电话")
    private String receiverPhone;

    @ApiModelProperty(value = "收货人地址")
    private String receiverAddress;

    @ApiModelProperty(value = "配送员姓名")
    private String courierName;

    @ApiModelProperty(value = "配送员电话")
    private String courierPhone;

    @ApiModelProperty(value = "送达时间")
    private Instant receiveTime;

    @ApiModelProperty(value = "订单备注")
    private String remark;

    @ApiModelProperty(value = "退货凭证照片")
    private String reFundPhotos;

    @ApiModelProperty(value = "申请时间")
    private Instant refundTime;

    @ApiModelProperty(value = "申请状态")
    private String applyStatus;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal returnAmount;

    @ApiModelProperty(value = "处理时间")
    private Instant handleTime;

    @ApiModelProperty(value = "退货原因")
    private String reason;

    @ApiModelProperty(value = "退货描述")
    private String description;

    @ApiModelProperty(value = "处理人")
    private String handler;

    @ApiModelProperty(value = "处理描述")
    private String handleRemark;


}
